iT邦幫忙

2025 iThome 鐵人賽

DAY 1
1
Software Development

Effect 魔法:打造堅不可摧的應用程式系列 第 1

0. Effect 魔法:替你的應用程式注入堅不可摧的力量

  • 分享至 

  • xImage
  •  

Effect 是近一兩年興起的一套 TypeScript 的函式庫,可以幫助我們打造更加強韌的應用程式,目前我已經使用 Effect 這個套件一年多了,這段時間它幫助我打造了幾個重要的元件,並且在開發的階段就提早透過形別檢查跟讓整個程式變的更容易測試,從而在上線前就提早發現了大部份的錯誤,因此我想將這個套件介紹給大家,讓我們一起來看 Effect 是透過怎麼樣的魔法完成這一切的

Effect 提供開發者:

  • 完整的 type-safety
  • 明確的 checked error
  • 強大的流程控制能力
  • 進階的 concurrency 調度
  • dependency injection
  • schema 檢查
  • 還有函蓋了各種需求的基礎 utilties

另外小小的打一下廣告,我預計在今年於 11/29 號的 JSDC 上分享相關的主題,若你有興趣歡來共襄盛舉。還有一點是我平常有在寫一些文章分享在 substack 上,平常是一個月一篇,如果有興趣的歡迎訂閱,我會在上面分享技術,工作心得之類的等等

這個系列假設你有基本的 TypeScript 了解,並且對 React, Vue 或是 Node.js 有些基本的認識,另外雖然 Effect 是一個 functional progamming 的套件,因此我們會介紹 functional programming (FP),不過 Effect 不需要我們全部都使用 FP,不用擔心不熟 FP 會無法使用。我們 30 天將會來看以下主題,一路由淺入深的一同探索 Effect 的魔法,並透過實戰演練看在實際上要怎麼使用 Effect

本系列都以撰寫當下的最新版本 3.17.13 進行測試, Effect 是個快速發展的套件,有可能在你閱讀時,已經有所不同,或是有更好的做法,若有需要還請以官方文件為準

基礎介紹

  1. Functional Programming 介紹
  2. 為什麼要用 Effect , Promise 不夠嗎
  3. 第一個 Effect
  4. Effect 的基本使用
  5. 初識 Effect 中的 concurrency
  6. Effect 中的錯誤
  7. 用 Effect 打造自訂的錯誤型別
  8. Effect 實戰分享 1 :資料清理

進階應用

  1. Effect 的超級魔法:排程與錯誤重試
  2. Effect 的 dependency injection:打造可抽換的模組
  3. Effect layer: 管理 dependency 的相依性
  4. Effect 的實戰分享 2:簡易爬蟲
  5. 如何測試 Effect 的程式
  6. dependency injection 與測試的組合技
  7. Effect 實戰分享 3: 資料牽移
  8. 再看 concurrency:如何使用 fork
  9. Effect 的 concurrency 調度器: Fiber 簡介
  10. Request and batching
  11. Effect 實戰分享 4: 取得看版資料
  12. Effect 資源管理與作用域
  13. Effec runtime :自訂如何執行 effect
  14. Effect 應用 1 : 如何在 React 中呼叫 Effect 的程式
  15. Effect 應用 2 :用 orpc 與 Effect 打造強韌的 API 介面
  16. Effect log
  17. Effect 與 Observability
  18. Effect schema:資料格式驗證
  19. Match: tag 與模式比對

更多 Effect 提供的 Utilties 與生態系

  1. 不可變的資料型態們: Array, Record, HashSet, HashMap
  2. Effect 生態系: @effect/platform 不同平台也能有一樣的 API
  3. Effect 生態系: @effect/ai Effect 也有 ai
  4. 結語

以上的目錄是暫訂的,系列連載的過程中有可能調整,那麼下一篇,我們就先從 functional programming 開始介紹囉


下一篇
1. Functional Programming 簡介
系列文
Effect 魔法:打造堅不可摧的應用程式4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
nihilitypeo
iT邦新手 3 級 ‧ 2025-09-17 10:37:21

YA~終於看到有人寫這個主題,很期待!!!

DanSnow iT邦好手 1 級 ‧ 2025-09-17 20:05:10 檢舉

感謝支持,歡迎按讚分享開啟小鈴鐺(X ,今年初就有在想要寫這個系列了,畢竟已經用了一段時間,真心覺得不錯想要分享,雖然一開始還真的覺得 Effect 這個東西沒那麼好懂就是了

我要留言

立即登入留言